System and method for determination and management of root cause for inventory problems

ABSTRACT

Scans of a selected product on shelves of a retail store are obtained and the scans are transmitted over a network via a transceiver circuit. A perpetual inventory (PI) value is stored for a selected product in a database. A data structure includes a first category and first actions programmatically linked to the first category. When the selected product is out-of-stock and when the PI value is greater than a predetermined threshold, one or more of the first actions associated with the first category are performed.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. application Ser. No. 15/918,032 filed Mar. 12, 2018, which claims the benefit of the following U.S. Provisional Application No. 62/471,446 filed Mar. 15, 2017, both of which are incorporated herein by reference in their entireties.

TECHNICAL FIELD

This invention relates generally to the management of perpetual inventory values, and more particularly, to determining the root cause of perpetual inventory problems.

BACKGROUND

Stores utilize various measures to keep track of and manage products. One such measure is the perpetual inventory (PI) value associated with a product. In aspects, the PI value represents the quantity of product in the store. The PI value typically changes over time so as to accurately reflect the number of actual products in the store. For instance, products are purchased by customers and removed from the store affecting the PI value. Shipments arrive at the store and include additional products also affecting the PI value.

Stores also utilize other measures that relate to the value and availability of products for accounting and other purposes. For example, a book value of a product may be the value of all of the product present in the retail store.

Sometimes the PI value does not accurately reflect the correct number of products in the store. This can happen for a variety of reasons including mis-scanning products as the products leave or depart the store, or other forms of human error. If the PI value is incorrect, then various problems can develop. For instance, shipments can be ordered at the wrong times and for the wrong quantity of products.

BRIEF DESCRIPTION OF THE DRAWINGS

Disclosed herein are embodiments of systems, apparatuses and methods pertaining to determining root causes for out-of-stock items. This description includes drawings, wherein:

FIG. 1 is a block diagram showing one example of a system for determining root causes for out-of-stock items in accordance with some embodiments;

FIG. 2 is a flowchart showing one example of an approach for determining root causes for out-of-stock items and performing other actions in accordance with some embodiments;

FIG. 3 is a flowchart showing another example of an approach for determining root causes for out-of-stock items and performing other actions in accordance with some embodiments;

FIG. 4 is a block diagram of a data structure used for determining root causes for out-of-stock items and performing other actions in accordance with some embodiments.

Elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions and/or relative positioning of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of various embodiments of the present invention. Also, common but well-understood elements that are useful or necessary in a commercially feasible embodiment are often not depicted in order to facilitate a less obstructed view of these various embodiments of the present invention. Certain actions and/or steps may be described or depicted in a particular order of occurrence while those skilled in the art will understand that such specificity with respect to sequence is not actually required. The terms and expressions used herein have the ordinary technical meaning as is accorded to such terms and expressions by persons skilled in the technical field as set forth above except where different specific meanings have otherwise been set forth herein.

DETAILED DESCRIPTION

Generally speaking, systems, apparatuses and methods are provided that adjust perpetual inventory values and otherwise identify and/or take actions regarding inventory issues at retail stores (e.g., out-of-stock items). Advantageously, the shelves of a retail store are scanned to determine if an item is out-of-stock. The PI value of the product is compared to a predetermined threshold (e.g., 1). When the PI is greater than the threshold (i.e., the store believes there is available product), then the product is either located or the PI is adjusted.

In many of these embodiments, a system is configured to determine and manage inventory values of out-of-stock products in a retail store. The system includes a network, a sensor, a transceiver circuit, a database, and a control circuit.

The sensor is disposed in proximity to shelves at a retail store and is configured to obtain scans of a selected product on the shelves. The transceiver circuit is coupled to the sensor and the network, is disposed at the retail store, and is configured to transmit the scans from the sensor over the network.

The database is configured to store a perpetual inventory (PI) value for a selected product. The database is further configured to store a data structure and the data structure includes a first category and first actions that are programmatically linked to the first category. The first actions may be instructing an autonomous vehicle to find the selected product, instructing an employee to find the selected product, or adjusting the PI value of the selected product. Other examples are possible. The database is disposed at a centralized processing center and not at the retail store.

The control circuit is coupled to the network and the database, and is disposed at the centralized processing center. The control circuit configured to retrieve the PI value for the selected product from the database, and receive the scans from the transceiver circuit via the network. The control circuit is further configured to determine when the selected product is out-of-stock based upon an analysis of the scans. When the selected product is out-of-stock and when the PI value is greater than a predetermined threshold, the control circuit is configured to perform one or more of the first actions associated with the first category.

The predetermined value can take on a range of values. In one example, the predetermined value is 1. In aspects, the PI value is changed to an amount of the selected product found by the employee or the autonomous vehicle.

In other examples, the data structure includes a second category and a second action is programmatically linked to the second category. The second action includes sending instructions to a store employee to take no further action. The control circuit is further configured to obtain a last PI change time from the retail store. The last PI change time is the last time the PI value was changed at the retail store. The control circuit is configured to determine a time difference between a current time and the last PI change time. When the time difference is less than a predetermined time period, the control circuit is configured to perform the second action associated with the second category. In aspects, the predetermined time period is 7 days.

In yet other examples, the data structure includes a third category and third actions are programmatically linked to the third category. The third actions include transmitting an alert to a store employee to find another product to replace the selected product, and sending instructions to the store employee to take no further action. The database is further configured to store a recall list of product numbers that relate to products under a product recall. The control circuit is also configured to, from the scans, obtain an item number of the selected product and to compare the item number of the selected product to product numbers on the recall list. When the item number of the selected product is on the recall list, the control circuit is configured to perform one of the third actions associated with the third category.

In aspects, the control circuit is configured to convert the data structure into a report. For example, the control circuit renders the report to a store employee.

In others of these embodiments, scans of a selected product on shelves of a retail store are obtained and the scans are transmitted over a network via a transceiver circuit. A perpetual inventory (PI) value is stored for a selected product in a database. A data structure is stored in the database. The data structure includes a first category and first actions programmatically linked to the first category. The first actions include instructing an autonomous vehicle to find the selected product, instructing an employee to find the selected product, and adjusting the PI value of the selected product.

The PI value for the selected product from the database. The scans are received from the network and a determination is made as to when the selected product is out-of-stock based upon an analysis of the scans. When the selected product is out-of-stock and when the PI value is greater than a predetermined threshold, one or more of the first actions associated with the first category are performed.

In still others of these embodiments, a system is configured to determine and manage inventory values of out-of-stock products in a retail store. The system includes a network, a product display unit that is disposed at a retail store, a sensor, an autonomous vehicle, a transceiver circuit, a database, and a control circuit.

The sensor is disposed in proximity to the product display unit at the retail store and is configured to obtain scans of a selected product at the product display unit. The autonomous vehicle disposed at the retail store.

The transceiver circuit is coupled to the sensor, the autonomous vehicle, and the network. The transceiver circuit is disposed at the retail store, and is configured to transmit the scans from the sensor over the network.

The database is configured to store a perpetual inventory (PI) value for a selected product. The database is further configured to store a data structure. The data structure includes a first category and first actions that are programmatically linked to the first category. The first actions include instructing the autonomous vehicle to find the selected product, instructing an employee to find the selected product, and adjusting the PI value of the selected product. The database is disposed at a centralized processing center and not at the retail store.

The control circuit is coupled to the network and is disposed at the centralized processing center. The control circuit configured to retrieve the PI value for the selected product from the database and receive the scans from the transceiver circuit via the network. The control circuit is further configured to determine when the selected product is out-of-stock based upon an analysis of the scans. The control circuit is further configured to, when the selected product is out-of-stock and when the PI value is greater than a predetermined threshold, perform one or more of the first actions associated with the first category according to the data structure and/or according to actions performed with respect to the PI of the selected product at other retail stores.

Referring now to FIG. 1, one example of a system 100 for adjusting the PI value of a selected product in a retail store 102 is described. The retail store 102 may be any type of retail store, for example, a discount center, a grocery store, a department store, or a hardware store to mention a few examples.

The retail store 102 includes a database 152 that stores for each product a PI value 122. The PI value 122 for the selected product indicates the amount of a selected product in the retail store.

A communication device or transceiver circuit 154 allows the retail store 102 to communicate with devices and entities that are external to the store. The communication device 154 may include any combination of hardware or software that allows communications to be received at the retail store 102, and makes transmissions from the retail store 102. The communication device 154 may be deployed within or at another device (e.g., a modem, a smart phone, or a personal computer, to mention a few examples).

Cloud network 104 is coupled to the communication device 154 (e.g., a transceiver circuit) at the retail store 102. The cloud network 104 may be any type of computer or communication network and may include routers, gateways, and servers to mention a few examples of devices that can form or be utilized in the network 104. The cloud network 104 may also be combinations of various types of networks.

A scanner or sensor 176 obtains scans 180 of a shelf 170. The scanner 176 may be any type of sensing device such as a camera that obtains visual images or an RFID sensor that senses RFID tags coupled to a product. The shelf 170 may be a customer shelf (accessible to a customer) or a top shelf (not accessible to a customer). The scans 180 can be of any format and, in one example, are visual images.

The apparatus 106 includes an interface 130, a control circuit 132, and a database 134. The interface 130 is configured to receive from the retail store 102 the perpetual inventory (PI) value 122 associated with the selected product. The database 134 stores the PI value 122. The apparatus 106 may be deployed at a central processing center such as the home office of the retail store.

In aspects, the apparatus 106 may be disposed at a central processing center or location such as a business headquarters. In other examples, the apparatus 106 is disposed at one or more remote locations (e.g., retail stores). Advantageously, disposing the apparatus at a central processing center reduces data storage cost, since all data can be stored at a single location instead of at multiple locations.

The database 134 is further configured to store a data structure 140 and the data structure 140 includes a first category 141 and first actions 142 that are programmatically linked to the first category 141. The first actions 142 may be instructing an autonomous or automated vehicle 156 to find the selected product, instructing an employee to find the selected product, or adjusting the PI value 122 of the selected product. In aspects, the PI value 122 is changed to an amount of the selected product found by the employee or the autonomous vehicle. Other examples are possible. The autonomous or automated vehicle 156 may be an automated ground vehicle or aerial drone, to mention two examples.

The data structure 140 includes a second category 143 and a second action 144 programmatically linked to the second category 143. The second action includes sending instructions to a store employee to take no further action. Other examples are possible.

The data structure 140 includes a third category 145 and third actions 146 programmatically linked to the third category 145. The third actions 146 include transmitting an alert to a store employee to find another product to replace the selected product, and sending instructions to the store employee to take no further action.

The database 134 is further configured to store a recall list 182 of product numbers that relate to products under a product recall. The database 134 further stores the scans 180 that are obtained from the sensor 176 and the last PI adjustment time 124.

The control circuit 132 is coupled to the interface 130 and the database 134. It will be appreciated that as used herein the term “control circuit” refers broadly to any microcontroller, computer, or processor-based device with processor, memory, and programmable input/output peripherals, which is generally designed to govern the operation of other components and devices. It is further understood to include common accompanying accessory devices, including memory, transceivers for communication with other components and devices, etc. These architectural options are well known and understood in the art and require no further description here. The control circuit 132 may be configured (for example, by using corresponding programming stored in a memory as will be well understood by those skilled in the art) to carry out one or more of the steps, actions, and/or functions described herein.

The interface 130 is configured to receive from the retail store 102 the perpetual inventory (PI) monetary value 122 (or information from which the PI value may be calculated) from the retail store 102. The control circuit 130 is further configured to obtain a last PI change time 124 (or information from which the last PI change time can be determined) from the retail store. The last PI change time 124 is the last time the PI value was changed at the retail store.

The control circuit 132 is configured to retrieve the PI value 122 for the selected product from the database 134, and receive the scans 180 that have been received from the transceiver circuit 154 via the network 104 (and potentially stored in the database 134). The scans 180 may also be stored in the database 134. The control circuit 132 is further configured to determine when the selected product is out-of-stock based upon an analysis of the scans 180. When the selected product is out-of-stock and when the PI value 122 is greater than a predetermined threshold, the control circuit 132 is configured to perform one or more of the first actions 142 associated with the first category 141. The predetermined threshold can take on a range of values. In one example, the predetermined threshold is 1. The first action that is selected may depend upon actions performed with respect to the PI of the selected product at other retail stores. For example, if all (or a predetermined number) of other retail stores were performing a particular action (e.g., sending an automated vehicle to locate a product), then this action may be selected (or a greater weight attached to performing the action). A record of actions taken at all retail stores may be stored at the database 134.

In other aspects, the control circuit 132 is configured to determine a time difference between a current time (which may be obtained from a clock) and the last PI change time 124. When the time difference is less than a predetermined time period, the control circuit 132 is configured to perform the second action 144 associated with the second category 143. In aspects, the predetermined time period is 7 days. Other examples are possible. The second action that is selected may depend upon actions performed with respect to the PI of the selected product at other retail stores.

In still other aspects, the control circuit 132 is configured to, from an analysis of the scans 180, obtain an item number of the selected product and to compare the item number of the selected product to product numbers on the recall list 182. When the item number of the selected product is on the recall list 182, the control circuit 132 is configured to perform one of the third actions associated with the third category. The third action that is selected may depend upon actions performed with respect to the PI of the selected product at other retail stores.

Referring now to FIG. 2, one example of an approach for adjusting the PI value using financial considerations is described.

At step 202, scans of a selected product on shelves of a retail store are obtained and the scans are transmitted over a network via a transceiver circuit, for example, to a central processing center. A perpetual inventory (PI) value is also stored for a selected product in a database.

The scans may be obtained from any type of sensing device such as a camera (obtaining images in any wavelength of light) or an RFID scanner. The images or scans may be of any format and in one example are images of the shelves obtained in the visible light spectrum.

At step 204, a data structure is stored in the database that is disposed, for example, at the central processing center. The data structure includes a first category and first actions programmatically linked to the first category. The first actions include instructing an autonomous vehicle to find the selected product, instructing an employee to find the selected product, and adjusting the PI value of the selected product. As described elsewhere herein, other categories and actions may be included or represented in the data structure.

At step 206, the PI value for the selected product is obtained from the database. The scans are also received from the network. In examples, the database is located at a central processing center. In further aspects, the scans may be stored in this database.

At step 208, a determination is made as to when the selected product is out-of-stock based upon an analysis of the scans. The scans may be analyzed according to approaches known by those skilled in the art that determine whether a particular product is shown in the scan. For example, known image processing techniques may compare images in the scan to known images in the product to determine whether there is a match. At step 208, it is also determined whether the PI value is greater than a predetermined threshold. In examples, the predetermined threshold may be 1.

At step 210, when these conditions are met, one or more of the first actions associated with the first category are performed. In examples, the actions may include sending a message to a human or an automated vehicle to locate the product in the retail store. When an automated vehicle is used, the message may be a control signal that causes the automated vehicle (e.g., an automated ground vehicle or aerial drone) to search predetermined locations (shelves, storage areas, backrooms, to mention a few examples). The action selected may depend upon actions performed with respect to the PI of the selected product at other retail stores. For example, if all (or a predetermined number) of other retail stores were performing a particular action (e.g., sending an automated vehicle to locate a product), then this action may be selected (or a greater weight attached to performing the action).

Referring now to FIG. 3, approaches for adjusting the PI value and taking other actions to determine root causes of PI problems is described. The approaches described with respect to FIG. 3 may, in aspects, be performed at a central processing center and/or at a retail store. It will be appreciated that the steps 302-312 may be executed as if-then-else statements, and implemented in any type of programming language. That is, if the conditions at step 302 are true, the actions at step 302 are taken and execution ends. If the conditions at step 302 are not true or are not satisfied, control proceeds to step 304, where the conditions of step 304 are evaluated. If the conditions at step 304 are true, the actions at step 304 are taken and execution ends. If the conditions at step 304 are not true or are not satisfied, control proceeds to step 306, where the conditions of step 306 are evaluated. This pattern continues for all the steps.

Additionally, execution of these steps may generate a report that is rendered to a user. In examples, a written or electronic report may be generated. The report may indicate the root cause for out-of-stock issues (including incorrect PI values) and suggestions (e.g., actions) to correct these problems.

At step 302, a check is made of the PI. When the PI value is greater than a predetermined threshold (X), one or more actions may be performed. The actions include instructing an autonomous vehicle to find the selected product, instructing an employee to find the selected product, or adjusting the PI value of the selected product. Execution then halts. If the conditions of step 302 are not met, control proceeds to step 304.

At step 304, a last PI change time (or information from which the last PI change time can be determined) is obtained from the retail store. The last PI change time is the last time the PI value was changed at the retail store. A time difference between a current time (e.g., obtained from a clock) and the last PI change time is determined. When the time difference is less than a predetermined time period, various actions can be performed. For example, a message may be sent to a store employee. Execution then halts. When these conditions are not met, control proceeds to step 306.

At step 306, an item number of the selected product is obtained (from an analysis of scans of the store, for instance, scans of the shelf) and compared the item number of the selected product to product numbers on a recall list. The recall list includes a list of product numbers that relate to the products under a product recall may be stored in a database. When the item number of the selected product is on the recall list (there is a global out-of-stock exception), various actions may be performed. For example, the actions may include transmitting an alert to a store employee to find another product to replace the selected product, or sending instructions to the store employee to take no further action. Execution then halts. When these conditions are not met, control proceeds to step 308.

At step 308, it is determined if a warehouse aligned to the retail store (e.g., a warehouse supplying the retail stores with products) is shipping less than a predetermined number of all orders placed for the product. If the answer is affirmative (indicating the warehouse is not shipping enough), various actions may be performed. These actions include issuing alerts upstream alerts to have the warehouse obtain more of the product, alerting the store to prioritize inbound shipments, alerting the store to take some temporary stocking action, re-routing products to the store from another warehouse, fining the supplier for an in-stock violation, or billing the supplier an additional freight factor. Execution then halts. When these conditions are not met, control proceeds to step 310.

At step 310, it is determined if the product has been ordered by the store. If the answer is affirmative, forecasts (e.g., showing the lead time to obtain the product) may be updated, and inbound shipments may be prioritized. Execution then halts. When these conditions are not met, control proceeds to step 312.

At step 312, it is determined if the product has not been ordered. If the answer is affirmative, actions can be taken such as dynamically re-routing some of the products from shipments going to other stores. The product may also be re-ordered. Execution then halts.

Referring now to FIG. 4, one example of a data structure 400 is described. The data structure can be used in the approaches of FIG. 1, FIG. 2, and FIG. 3. The data structure may be implemented in any type of programming language. The data structure 400 may, in aspects, be stored at a database at a central processing center.

The data structure 400 includes a first category 402 and first actions 404 that are programmatically linked to the first category 402. The data structure 400 may be a look-up table and the elements 402 and 404 associated with a row in the table. In other examples, a point points from element 402 to element 404. The first actions may be instructing an autonomous vehicle to find the selected product, instructing an employee to find the selected product, or adjusting the PI value of the selected product. The actions may be executable computer code, hyperlinks or links to executable code to mention a few examples.

The data structure 400 also includes a second category 406 and a second action 408 programmatically linked to the second category 406. The second action includes sending instructions to a store employee to take no further action.

The data structure 400 additionally includes a third category 410 and third actions 412 programmatically linked to the third category 410. The third actions 412 include transmitting an alert to a store employee to find another product to replace the selected product, and sending instructions to the store employee to take no further action.

Those skilled in the art will recognize that a wide variety of other modifications, alterations, and combinations can also be made with respect to the above described embodiments without departing from the scope of the invention, and that such modifications, alterations, and combinations are to be viewed as being within the ambit of the inventive concept. 

What is claimed is:
 1. A system configured to determine and manage inventory values of out-of-stock products in a retail store, the system comprising: a product display unit that is disposed at a retail store; a sensor disposed in proximity to the product display unit at the retail store, the sensor configured to obtain scans of a selected product at the product display unit; a database that is configured to store a perpetual inventory (PI) value for a selected product, the database further configured to store a data structure, the data structure including a first category and first actions that are programmatically linked to the first category; wherein the PI value of the selected product relates to the number of a selected products in the retail store and is increased as amounts of the selected product are shipped and received at the store and is decreased as amounts of the selected product are sold and removed from the store; a control circuit coupled to the network and the database, the control circuit configured to: retrieve the PI value for the selected product from the database; receive the scans from the sensor; determine when the selected product is out-of-stock based upon an analysis of the scans; when the selected product is out-of-stock and when the PI value is greater than a predetermined threshold, adjust the PI value of the selected product and perform one or more of the first actions associated with the first category according to the data structure and according to actions performed with respect to the PI of the selected product at other retail stores; wherein the data structure includes a second category and a second action programmatically linked to the second category; and wherein the control circuit is further configured to: obtain a last PI change time from the retail store, the last PI change time being the last time the PI value was changed at the retail store; determine a time difference between a current time obtained from a clock and the last PI change time, the time difference being in time units; and when the time difference is less than a predetermined time period, perform the second action associated with the second category.
 2. The system of claim 1, wherein the predetermined value is
 1. 3. The system of claim 1, wherein the PI value is changed to an amount of the selected product found by the employee or the autonomous vehicle.
 4. The system of claim 1, wherein the first actions are selected from the group consisting of: instructing an autonomous vehicle to find the selected product and instructing an employee to find the selected product.
 5. The system of claim 1, wherein the second action is instructing a store employee to take no further action.
 6. The system of claim 1, wherein the predetermined time period is 7 days.
 7. The system of claim 1, wherein the data structure includes a third category and third actions programmatically linked to the third category, the third actions being selected from the group consisting of: transmitting an alert to a store employee to find another product to replace the selected product, and sending instructions to the store employee to take no further action, and wherein the database is further configured to store a recall list of product numbers that relate to products under a product recall; wherein the control circuit is further configured to: from the scans, obtain an item number of the selected product; compare the item number of the selected product to product numbers on the recall list; when the item number of the selected product is on the recall list, perform one of the third actions associated with the third category.
 8. The system of claim 1, wherein the control circuit is configured to convert the data structure into a report.
 9. The system of claim 8, wherein the control circuit renders the report to a store employee.
 10. A method for determining and managing inventory values of out-of-stock products in a retail store, the method comprising: obtaining scans of a selected product at a product display unit of a retail store and transmitting the scans over a network; storing a perpetual inventory (PI) value for a selected product in a database; wherein the PI value of the selected product relates to the number of a selected products in the retail store and is increased as amounts of the selected product are shipped and received at the store and is decreased as amounts of the selected product are sold and removed from the store; storing a data structure in the database, the data structure including a first category and first actions programmatically linked to the first category; retrieving the PI value for the selected product from the database; receiving the scans from the network and determining when the selected product is out-of-stock based upon an analysis of the scans; when the selected product is out-of-stock and when the PI value is greater than a predetermined threshold, adjusting the PI value of the selected product and performing one or more of the first actions associated with the first category and according to actions performed with respect to the PI of the selected product at other retail stores; wherein the data structure includes a second category and a second action programmatically linked to the second category; wherein the method further comprises: obtaining a last PI change time from the retail store, the last PI change time being the last time the PI value was changed at the retail store; determining a time difference between a current time obtained from a clock and the last PI change time, the time difference being in time units; when the time difference is less than a predetermined time period, performing the second action associated with the second category.
 11. The method of claim 10, wherein the predetermined value is
 1. 12. The method of claim 10, wherein the PI value is changed to an amount of the selected product found by the employee or the autonomous vehicle.
 13. The method of claim 10, wherein the first actions are selected from the group consisting of: instructing an autonomous vehicle to find the selected product and instructing an employee to find the selected product.
 14. The method of claim 10, wherein the second action is instructing a store employee to take no further action.
 15. The method of claim 10, wherein the predetermined time period is 7 days.
 16. The method of claim 10, wherein the data structure includes a third category and third actions programmatically linked to the third category, the third actions being selected from the group consisting of: transmitting an alert to a store employee to find another product to replace the selected product, and instructing the store employee to take no further action, the database being further configured to store a recall list of product numbers that relate to products under product recall, and wherein the method further comprises: obtaining an item number of the selected product based upon the scans, comparing the item number of the selected product to product numbers on the recall list, and when the item number of the selected product is on the recall list, performing one of the third actions associated with the third category.
 17. The method of claim 9, further comprising converting the data structure into a report.
 18. The method of claim 17, further comprising rendering the report to a store employee. 